﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;

namespace OgrIsleri.DashBoard.Modul.Bolumler
{
    public partial class Liste : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;

            if (Request.QueryString["Sil"] != null)
                Sil();
            

            BirimDoldur();
            VeriDoldur();

            if (Request.QueryString["Guncelle"] != null)
                Guncelle();
        }
        private void BirimDoldur()
        {
            using (DbEntities db = new DbEntities())
            {
                var veri = db.TblBirimlers.OrderBy(o => o.BirimAdi).ToList();
                DpBirimler.DataSource = veri;
                DpBirimler.DataTextField = "BirimAdi";
                DpBirimler.DataValueField = "BirimID";
                DpBirimler.DataBind();
            }
        }
        private void VeriDoldur()
        {
            using (DbEntities db = new DbEntities())
            {
                var veri = db.tblBolumlers.OrderBy(o => o.BolumAdi).ToList();
                RptListe.DataSource = veri;
                RptListe.DataBind();
            }
        }
        private void Sil()
        {
            using (DbEntities db = new DbEntities())
            {
                int BolumId = Convert.ToInt32(Request.QueryString["Sil"]);
                var veri = db.tblBolumlers.Where(o => o.BolumID == BolumId).SingleOrDefault();
                db.tblBolumlers.Remove(veri);
                db.SaveChanges();
            }
            Response.Redirect("Liste.aspx");
        }
        private void Guncelle()
        {
            using (DbEntities db = new DbEntities())
            {
                int BolumId = Convert.ToInt32(Request.QueryString["Guncelle"]);
                var veri = db.tblBolumlers.Where(o => o.BolumID == BolumId).SingleOrDefault();
                txtAd.Text = veri.BolumAdi;
                DpBirimler.ClearSelection();
                DpBirimler.Items.FindByValue(veri.BirimID.ToString()).Selected = true;
                DpYil.ClearSelection();
                DpYil.Items.FindByValue(veri.EgitimYili.ToString()).Selected = true;

                BtnKaydet.Text = "Düzenle";
            }
        }
        protected void BtnKaydet_Click(object sender, EventArgs e)
        {
            using (DbEntities db = new DbEntities())
            {
                if (Request.QueryString["Guncelle"] != null)
                {
                    int BolumId = Convert.ToInt32(Request.QueryString["Guncelle"]);
                    var veri = db.tblBolumlers.Where(o => o.BolumID == BolumId).SingleOrDefault();
                    veri.BolumAdi = txtAd.Text;
                    veri.BirimID = Convert.ToInt32(DpBirimler.SelectedValue);
                    veri.EgitimYili = Convert.ToInt32(DpYil.SelectedValue);
                    db.SaveChanges();
                }
                else
                {
                    var data = new tblBolumler();
                    data.EgitimYili = Convert.ToInt32(DpYil.SelectedValue);
                    data.BirimID = Convert.ToInt32(DpBirimler.SelectedValue);
                    data.BolumAdi = txtAd.Text;
                    db.tblBolumlers.Add(data);
                    db.SaveChanges();


                    #region Otomatik Sınıf
                    for (int i = 1; i <= data.EgitimYili; i++)
                    {
                        var sinif = new tblSiniflar();
                        sinif.BolumID = data.BolumID;
                        sinif.SinifAdi = data.BolumAdi + " " + i.ToString() + ". Sınıf";
                        db.tblSiniflars.Add(sinif);
                        db.SaveChanges();
                    } 
                    #endregion
                }
            }
            Response.Redirect("Liste.aspx");
        }
    }
}